]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Show/hide the summary during the overview transition
authorFlorian Müllner <fmuellner@src.gnome.org>
Fri, 19 Feb 2010 00:42:09 +0000 (01:42 +0100)
committerFlorian Müllner <fmuellner@src.gnome.org>
Sat, 20 Feb 2010 19:05:50 +0000 (20:05 +0100)
Right now, the summary starts popping up when the overview has been
shown and starts to disappear when the overview is hidden. Instead,
animate the summary during the overview transition.

https://bugzilla.gnome.org/show_bug.cgi?id=610520

js/ui/messageTray.js

index 7cab84391b476744716d2d049373c306ea010cbc..039685a1c96fc903a86ca271b87d2ade94e29a9b 100644 (file)
@@ -377,6 +377,7 @@ MessageTray.prototype = {
         this._pointerInSummary = false;
         this._notificationState = State.HIDDEN;
         this._notificationTimeoutId = 0;
+        this._overviewVisible = false;
 
         this.actor.show();
         Main.chrome.addActor(this.actor, { affectsStruts: false,
@@ -387,8 +388,16 @@ MessageTray.prototype = {
                        Lang.bind(this, this._setSizePosition));
         this._setSizePosition();
 
-        Main.overview.connect('shown', Lang.bind(this, this._updateState));
-        Main.overview.connect('hidden', Lang.bind(this, this._updateState));
+        Main.overview.connect('showing', Lang.bind(this,
+            function() {
+                this._overviewVisible = true;
+                this._updateState();
+            }));
+        Main.overview.connect('hiding', Lang.bind(this,
+            function() {
+                this._overviewVisible = false;
+                this._updateState();
+            }));
 
         this._sources = {};
         this._icons = {};
@@ -528,7 +537,7 @@ MessageTray.prototype = {
         }
 
         // Summary
-        let summarySummoned = this._pointerInSummary || Main.overview.visible;
+        let summarySummoned = this._pointerInSummary || this._overviewVisible;
         let summaryPinned = this._summaryTimeoutId != 0 || this._pointerInTray || summarySummoned;
         let notificationsVisible = (this._notificationState == State.SHOWING ||
                                     this._notificationState == State.SHOWN);